<?
/* Se asegura que el archivo es incluido por el index */
	defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Organizacion_area_exe( $this );

	class Organizacion_area_exe extends Exe
	{
	function Organizacion_area_exe( &$oModule )
		{
			$this->Exe( $oModule );
		}

	function save( $ncOrganizacion, $cdArea )
		{
			$ncArea = $this->oDatabase->nextKey("atOrganizacionArea", "ncArea", "ncOrganizacion=$ncOrganizacion");
			// Agrega el Registro
			$this->oDatabase->insert("atOrganizacionArea",
								"cdArea", $cdArea,
								"ncOrganizacion", $ncOrganizacion,
								"ncArea", $ncArea );
			return $ncArea;
		}
	// AGREGAR_AREA
	function insert()
		{
			// Convierte a variables los datos del Formulario asociado a la accion
			$oForm = $this->oModule->loadClass( 'Organizacion_area_frm' );
			extract( $oForm->getFieldArray() );
			$ncArea = $this->oDatabase->nextKey("atOrganizacionArea", "ncArea", "ncOrganizacion=$ncOrganizacion");
			// Agrega el Registro
			$this->oDatabase->insert("atOrganizacionArea",
								"cdArea", $cdArea,
								"cTelefono", $cTelefono,
								"cEmail", $cEmail,
								"ncResponsable", $ncResponsable,
								"ncArea", $ncArea,
								"ncAreaPadre", $ncAreaPadre,
								"ncOrganizacion", $ncOrganizacion );
			$this->setInputData( $ncArea, $cdArea );
			return true;
		}
	function update()
		{
			// Convierte a variables los datos del Formulario asociado a la accion
			$oForm = $this->oModule->loadClass( 'Organizacion_area_frm' );
			extract( $oForm->getFieldArray() );
			// Modifica el Registro
			$this->oDatabase->update("atOrganizacionArea",
								"cdArea", $cdArea,
								"cTelefono", $cTelefono,
								"cEmail", $cEmail,
								"ncResponsable", $ncResponsable,
								"ncAreaPadre", $ncAreaPadre,
								"WHERE",
								"ncArea", $ncArea,
								"ncOrganizacion", $ncOrganizacion );
			$this->setInputData( $ncArea, $cdArea );
		}

	// ELIMINAR_UN_ESTABLECIMIENTO_DE_UNA_ORGANIZACION
	function delete()
		{
			$ncOrganizacion = getParam( 'ncOrganizacion' );
			$ncArea = getParam( 'ncArea' );
			if ( $ncOrganizacion && $ncArea )
			{
				$this->oDatabase->update("atOrganizacionPersona", "ncArea", "",
									"WHERE",
									"ncArea", $ncArea,
									"ncOrganizacion", $ncOrganizacion );
				$this->oDatabase->delete("atOrganizacionArea",
									"ncArea", $ncArea,
									"ncOrganizacion", $ncOrganizacion );
			}
		}
	}
?>
